home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / mxlibs / sblib / type.h < prev   
Encoding:
C/C++ Source or Header  |  1994-06-22  |  3.2 KB  |  155 lines

  1. /*--------------------------------------------------------------------------*/
  2. /*          Header file for SoftJeff modules. Copyright 1994.               */
  3. /*                                                                          */
  4. /*Date   :10-04-1994                                                        */
  5. /*Version:1.0                                                               */
  6. /*Author :Jean-Francois Belleau                                             */
  7. /*File Name:TYPE.H                                                          */
  8. /*--------------------------------------------------------------------------*/
  9. #ifndef TYPE_H
  10. #define TYPE_H
  11.  
  12.  
  13. /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  14.  
  15.                          W A V E  F I L E  F O R M A T
  16.   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  17. */
  18.  
  19. typedef struct RIFF_STC
  20. {
  21.    unsigned long id;
  22.    unsigned long size;
  23. };
  24.  
  25.  
  26. typedef struct FORMAT_STC
  27. {
  28.    unsigned char id[4];
  29.    unsigned long size;
  30.    unsigned tag;
  31.    unsigned nbChannel;
  32.    unsigned long smpRate;
  33.    unsigned long avgByteSec;
  34.    unsigned blockallign;
  35.    unsigned format;
  36. };
  37.  
  38. typedef struct DATA_STC
  39. {
  40.    unsigned char id[4];
  41.    unsigned long size;
  42. };
  43.  
  44. typedef struct WAVE_STC
  45. {
  46.    unsigned char id[4];
  47.    FORMAT_STC   fmt;
  48.    DATA_STC     wav;
  49. };
  50.  
  51.  
  52.  
  53.  
  54. /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  55.  
  56.                            V O C  F I L E  F O R M A T
  57.   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  58. */
  59.  
  60.  
  61. typedef struct VOC_HEADER_STC
  62. {
  63.    char signature[19];
  64.    char eof;
  65.    unsigned dataBlockOffset;
  66.    unsigned version;
  67.    unsigned idCode;
  68. };
  69.  
  70. typedef struct VOC_VOICE_DATA_STC
  71. {
  72.    unsigned char rate;
  73.    unsigned char pack;
  74. };
  75.  
  76. typedef struct VOC_VOICE_CONTINUATION_STC
  77. {
  78.    unsigned char length1;
  79.    unsigned char length2;
  80.    unsigned char length3;
  81. };
  82.  
  83. typedef struct VOC_SILENCE_STC
  84. {
  85.    unsigned period;
  86.    unsigned char rate;
  87. };
  88.  
  89. typedef struct VOC_MARKER_STC
  90. {
  91.    unsigned period;
  92. };
  93.  
  94. typedef struct VOC_REPEAT_LOOP_STC
  95. {
  96.    unsigned count;
  97. };
  98.  
  99.  
  100. typedef struct VOC_EXTENDED_BLOCK_STC
  101. {
  102.    unsigned rate;
  103.    unsigned char pack;
  104.    unsigned char mode;
  105. };
  106.  
  107.  
  108.  
  109. #define VOC_V1     0x010A
  110.  
  111. #define voc_TERMINATOR           0
  112. #define voc_VOICE_DATA           1
  113. #define voc_VOICE_CONTINUATION   2
  114. #define voc_SILENCE              3
  115. #define voc_MARKER               4
  116. #define voc_ASCII_TEXT           5
  117. #define voc_REPEAT_LOOP          6
  118. #define voc_END_REPEAT_LOOP      7
  119. #define voc_EXTENDED_BLOCK       8
  120.  
  121. #define voc_8_BITS                0
  122. #define voc_4_BITS                1
  123. #define voc_2_6_BITS              2
  124. #define voc_2_BITS                3
  125.  
  126.  
  127.  
  128.  
  129. /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  130.  
  131.                            M I S C. D E F I N E
  132.   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  133. */
  134.  
  135.  
  136.  
  137. enum bool { FALSE = 0,
  138.             TRUE  = 1
  139.           };
  140.  
  141.  
  142. enum FILE_TYPE
  143. {
  144.    NO_TYPE = 0,
  145.    RAW,
  146.    WAVE,
  147.    VOC
  148. };
  149.  
  150. #define MONO       0
  151. #define STEREO     1
  152.  
  153.  
  154.  
  155. #endif